1. Technical Field
The invention relates to synchronization or updating of database data between two devices in a communication system and particularly between two devices and an interposed intermediate routing device. Data synchronization is a function where at least two data collections are made similar to each other so that the data units of the data collections substantially correspond to each other after synchronization. The intermediate network device provides for an adequate connection between the devices and forwards the exchanged data to the devices.
2. Discussion of Related Art
Data of portable terminals, such as portable computers, PDA terminals (personal digital assistant), mobile stations or pagers, can be synchronized with network applications, applications of desktop computers or with other databases of the telecommunications system. In particular, data of calendar, contact card applications and e-mail applications are typically synchronized, wherein the data to be synchronized includes, e.g., calendar events, contact cards and various types of messages like e-mails, short messages in accordance with the short message service (SMS), multimedia messages in accordance with the multimedia message service (MMS), etc. But also non-ordinary devices will offer synchronization capability. Such a non-ordinary device may be a digital camera able to synchronize pictures with a central picture managing server providing an easy to use upload method to the user of such a digital camera.
Synchronization has been based on the use of different manufacturer-specific protocols which are incompatible. This restricts the use of terminals or data types and often causes difficulty to the user. In mobile communication, in particular, it is important that data can be retrieved and updated regardless of the terminal and application used.
To improve synchronization of application data, a language known as synchronization markup language SyncML, which is based on the XML (extensible markup language), has been developed. By using a SyncML synchronization protocol, which employs messages in the SyncML format, data of any application or data for configuring of an application or a device function can be synchronized between participating devices of any kind. The SyncML synchronization protocol functions both in wireless and in fixed networks and supports several transmission protocols.
Up to now, the synchronization has been understood to be an end-to-end service, i.e. two devices communicate directly to each other using a logical connection. However, there may be several situations where a direct connection between these synchronizing devices (i.e. normally a user terminal client device and a dedicated synchronization server) is not available or not desirable since for example, the client device may be connected via a laptop or a personal computer over a local communication network such as a bluetooth network, an infrared connection or a wire-based connection to the server device, which may be connected, however, over a LAN (local area network) and/or a WAN (wide area network) to the client device. In such a situation, the synchronization session may be initiated, controlled and routed by the intermediate network device offering commonly cheaper and faster communication.
Further, the routing of the synchronization is also advantageous for an end-user having no access points stored in the terminal device, or does not even need no data transfer capability over the air in the terminal device. An end-user only using synchronization may not even have to have a data transfer subscription only for this purpose. Additionally, there may be a different network technology, which prevents a direct connection (e.g. a GSM 900 terminal in a code division multiple access (CDMA) network), and thus a router is needed for performing a synchronization.
Currently, it is not possible to route a synchronization session over an intermediate network device and therefore it is even not possible to initiate such a routed synchronization session by an intermediate network device. It would, however, be advantageous for a user to start a synchronization from an interposed network device which is actually not a part of the synchronization transaction itself.